using System;
using CodePlex.CodePlexClientLibrary;
using CodePlex.DependencyInjection;
using CodePlex.TfsLibrary;

namespace CodePlex.CodePlexWebServiceClient
{
    public class Program : ApplicationBase<HelpCommand>
    {
        [STAThread]
        public static int Main()
        {
            return new Program().Run();
        }

        protected override void RegisterCommands(CommandLineHelper helper)
        {
            helper.RegisterCommand<DiagnosticsCommand>();
            helper.RegisterCommand<HelpCommand>();
            helper.RegisterCommand<ListProjectsCommand>();
            helper.RegisterCommand<MapUserCommand>();
            helper.RegisterCommand<TfsInfoCommand>();
        }

        protected override void SetupContainer(DependencyContainer container)
        {
            container.RegisterTypeMapping<IAppConfig, AppConfig>();

            base.SetupContainer(container);
        }
    }
}